package com.prd.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Objects;

/**
 * <p>
 * 客户-备注总表
 * </p>
 *
 * @author o1
 * @since 2023-11-24
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("备注CustomerRemarkDTO")
public class CustomerRemarkDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ApiModelProperty("id")
    private Long id;


    /**
     * 编号:客户编号，客人编号，项目id均用此字段
     */
    @ApiModelProperty("编号:客户编号，客人编号，项目id均用此字段")
    private String no;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createDatetime;

    /**
     * 文档url
     */
    @ApiModelProperty("入参-文档url")
    private String fileUrl;

    /**
     * 图片url
     */
    @ApiModelProperty("入参-图片url")
    private String imgUrl;


    /**
     * 录音文件url
     */
    @ApiModelProperty("入参-录音文件url")
    private String recordUrl;

    /**
     * 文档url列表
     */
    @ApiModelProperty("返回-文档url列表")
    private List<String> fileUrlList;

    /**
     * 图片url列表
     */
    @ApiModelProperty("返回-图片url列表")
    private List<String> imgUrlList;


    /**
     * 录音文件url列表
     */
    @ApiModelProperty("返回-录音文件url列表")
    private List<String> recordUrlList;

    /**
     * 备注: 客户备注1，项目备注2，客户需求备注3，客户分析4，销售/业务-策略/方案5，销售/业务-计划/实施6，项目分析7，项目需求8,项目成交汇报9，项目补充汇报10，项目失败汇报11，项目取消汇报12
     * 拜访目的/任务描述13,拜访实况汇报14,拜访结果汇报15,拜访补充汇报16,跟进实况汇报17,跟进结果汇报18,跟进补充汇报19
     */
    @ApiModelProperty("备注: 客户备注1，项目备注2，客户需求备注3，客户分析4，销售/业务-策略/方案5，销售/业务-计划/实施6，项目分析7，项目需求8,项目成交汇报9，项目补充汇报10，项目失败汇报11，项目取消汇报12," +
            "拜访目的/任务描述13,拜访实况汇报14,拜访结果汇报15,拜访补充汇报16,跟进目的/任务描述17,跟进实况汇报18,跟进结果汇报19,跟进补充汇报20")
    private int type;


    @Override
    public int hashCode() {
        return Objects.hashCode(id) & Integer.MAX_VALUE;
    }

}
